package com.jgzx.constant;

import cn.hutool.core.util.ObjectUtil;

/**
 * 单据状态【草稿 待审 已审】
 * @author libo
 * @date 2021-03-19
 */
public enum BillStateEnum {

    /** 草稿【0】 */
    DRAFT(0, "草稿"),
    /** 待审【1】 */
    AWAIT_APPROVED(1, "待审"),
    /** 已审【2】 */
    APPROVED(2, "已审"),
    ;

    private final Integer value;
    private final String showName;

    /**
     * @param value 值
     * @param showName 显示名称
     */
    BillStateEnum(Integer value, String showName){
        this.value = value;
        this.showName = showName;
    }

    /**
     * 通过单据状态值获取枚举对象
     * @param value 单据状态值
     * @return 单据状态枚举
     */
    public static BillStateEnum getBillStateByValue(Integer value){
        for(BillStateEnum billStateEnum : BillStateEnum.values()){
            if(ObjectUtil.equal(value, billStateEnum.value())){
                return billStateEnum;
            }
        }
        return null;
    }

    public Integer value() {
        return this.value;
    }

    public String showName() {
        return this.showName;
    }
}
